<html>
  <head>
    <LINK href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
    <LINK href="../../css/kf_man.css" rel="stylesheet" type="text/css">
  </head>
  <body class="mainblock">
    <div class="manpage">
      <div class="userdoc_hdr_left">
	Bundle: ksoap_remotefw
      </div>
      <div class="userdoc_hdr_right">
	Version 2.0.0
      </div>
      <h1 class="man">SOAP Remote Framework</h1>

<div class="abstract">
This bundle exports (server) and imports (client) remote OSGI
frameworks, using SOAP. This allows a client bundle, as the Swing
desktop, to remotely control another framework.  </p></div>
</div>

<p> The bundle is part of the <a href="../soap/index.html#ksoap">The
Knopflerfish kSOAP</a> package.  </p>

<h2 class="man">Description</h2>

<p> Complete implementation of a "remote" OSGi framework, using SOAP.
For usage instructions see <a target="_top"
href="http://knopflerfish.org/remote_howto.html">http://knopflerfish.org/remote_howto.html</a>
</p>


<h2 class="man">Server - Exporting a framework</h2>

<p>

The ksoap_remotefw bundle can export the entire OSGi framework as a
SOAP service, by registering an instance of
<tt>org.knopflerfish.service.soap.remotefw.RemoteFW</tt>
into the framework, with the property
<tt>SOAP.service.name = OSGiFramework</tt>

</p><p>

This will make the ksoap-osgi bundle pick up the service and export
all methods. A SOAP client on another host can then access the server
framework.

</p><p>

The default behavior of ksoap_remotefw is to register a RemoteFW 
instance.

</p>


<h2 class="man">Client - Importing a framework</h2>
<p>

The ksoap_remotefw bundle can also run as a client and import a remote
framework. In that case, a service of class
<pre>
  org.knopflerfish.service.remotefw.RemoteFramework
</pre>
will be registered into the framework. Another bundle can then get this
RemoteFramework service and call its "connect" method. This methods will
return a BundleContext representing the remote framework. See javadocs
for RemoteFramework for details.

</p><p>

The default behavior of ksoap_remotefw is to register a RemoteFramework 
instance.

</p><p>

The Swing desktop is capable of using the RemoteFramework service. If the
ksoap_remotefw is active, the desktop will display a connection dialog
allowing the user to connect to a named remote framework.

</p>

<h2 class="man">Controlling the ksoap_remotefw behavior</h2>

The behavior of the ksoap_remotefw bundle can be controlled
by the following system properties:

<dl>
  <dt><tt>org.knopflerfish.soap.remotefw.server</tt> (default "true")</dt>
  <dd>
      If set to "true", export a SOAP service allowing remote
      management of the entire platform.
      </br>
      If not set to "true", do not export any SOAP service
  </dd>
  <dt><tt>org.knopflerfish.soap.remotefw.client</tt> (default "true")</dt>
  <dd>
      If set to "true", register an implementation of 
      org.knopflerfish.service.remotefw.RemoteFramework
      allowing other bundles to remote manage a framework. This 
      service can be used by the desktop bundle.
      <br/>
      If not set to "true", do not register any RemoteFramework
      service
  </dd>
  <dt><tt>org.knopflerfish.soap.remotefw.client.sendlocalpaths</tt> (default "false")</dt>
  <dd>
      Set to "true" to avoid sending base64 encoded bundles when installing.
  </dd>
  <dt><tt>org.knopflerfish.soap.remotefw.client.debug</tt> (default "false")</dt>
  <dd>
      Set to "true" causes the ksoap bundles to print some debug information.
  </dd>
  <dt><tt>org.knopflerfish.soap.remotefw.client.eventinterval</tt> (default 3000)</dt>
  <dd>
      Interval in milliseconds between event notification. The remote
      bundle context's event notification works by polling the server
      at regular intervals. This property specifies the interval.
  </dd>
</dl>

<h2 class="man">See Also</h2>
<a href="../soap/index.html">SOAP - WebServices</a>


      <h2 class="man">Jar docs</h2>
      <a target="_blank" href="../../jars/ksoap_remotefw/ksoap_remotefw_all-2.0.0.html">ksoap_remotefw_all-2.0.0</a><br>


      <h2 class="man">Exported Packages</h2>
      org.knopflerfish.service.soap.remotefw
    </div>
  </body>
</html>

